package login;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;

// 通过这个 Servlet 生成一个网站首页
@WebServlet("/index")
public class IndexServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 1. 先获取当前用户的session
        HttpSession session = req.getSession(false);
        // 2. 判断 用户是否有 session
        if(session == null) {
            // sessionId 不存在，或者 sessionId 没有在 hash 表中找到
            // 给用户一个提示信息
            resp.setContentType("text/html; charset=utf8");
            resp.getWriter().write("您当前尚未登录");
            return;
        }
        // 3. 从会话中拿到 用户的信息
        // 这里需要强转，也就意味着程序员需要自行保证，类型是靠谱的
        String username = (String) session.getAttribute("username");
        Long loginTime = (Long) session.getAttribute("loginTime");
        // 4. 生成一个页面，把上述数据显示到页面上
        resp.setContentType("text/html; charset=utf8");
        String respBody = "欢迎你" + username + "! 上次登录时间为：" + loginTime;
        resp.getWriter().write(respBody);
    }
}
